package executables;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;

import calculator.EikonaCalculator;
import calculator.EquationEvaluator;
import exceptions.InvalidExpressionException;

/* EikonaCl.java
* Author: Ben McCormick
* Written: May 15 2011
* Last Edited: May 16 2011
* Ben McCormick 2011
* This file is part of The Eikona Project .
*    Copyright 2011 Ben McCormick
*    Licensed under the Apache License, Version 2.0 (the "License");
*    you may not use this file except in compliance with the License.
*    You may obtain a copy of the License at
*    
*    http://www.apache.org/licenses/LICENSE-2.0
*    
*     Unless required by applicable law or agreed to in writing, software
*     distributed under the License is distributed on an "AS IS" BASIS,
*     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*     See the License for the specific language governing permissions and
*     limitations under the License.
*/



public class EikonaCL {
	
	
	public static void main(String[] args) throws IOException, Exception
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		EikonaCalculator calc = new EquationEvaluator();
		while(true)
		{
			System.out.println("Please enter an expression to compute. (Enter ! to exit)");
			String expression =br.readLine();
			if(expression.equals("!"))
			{
				System.out.println("Goodbye!");
				break;
			}
			else
			{
				BigDecimal answer = calc.compute(expression);
				System.out.println(answer);
			}
		}
		
	}

}
